package com.launch.wlfw.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.launch.wlfw.dao.TypeInfoMapper;
import com.launch.wlfw.pojo.TypeInfo;
import com.launch.wlfw.service.TypeInfoService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;

/**
 * 信息服务类型impl
 *
 * @ClassName TypeInfoServiceImpl
 * @Description
 * @Author 29172
 * @Date 2023/6/30 15:21
 */
@Service
public class TypeInfoServiceImpl implements TypeInfoService {
    /**
     * 类型信息映射器
     */
    @Resource
    private TypeInfoMapper typeInfoMapper;


    /**
     * 找到所有类型信息
     *
     * @param typeInfo 类型信息
     * @param pageNum  页面num
     * @param pageSize 页面大小
     * @return {@link PageInfo}<{@link TypeInfo}>
     */
    @Override
    public PageInfo<TypeInfo> findAllTypeInfo(TypeInfo typeInfo , Integer pageNum , Integer pageSize) {
        PageHelper.startPage(pageNum - 1 , pageSize);
        List<TypeInfo> allTypeInfo = typeInfoMapper.findAllTypeInfo(typeInfo);
        return  PageInfo.of(allTypeInfo);
    }

    /**
     * 添加类型信息
     *
     * @param typeInfo 类型信息
     * @return {@link Integer}
     */
    @Override
    public Integer addTypeInfo(TypeInfo typeInfo) {
        return typeInfoMapper.addTypeInfo(typeInfo);
    }

    /**
     * 获得类型信息通过id
     *
     * @param ids id
     * @return {@link Integer}
     */
    @Override
    public Integer delTypeInfoByID(String ids) {
        List<String> list= Arrays.asList(ids.split(","));
        for (String s:list) {
            typeInfoMapper.delTypeInfoByID(Integer.valueOf(s));
        }
        return null;
    }

    /**
     * 更新类型信息
     *
     * @param typeInfo 类型信息
     * @return {@link Integer}
     */
    @Override
    public Integer updateTypeInfo(TypeInfo typeInfo) {
        return typeInfoMapper.updateTypeInfo(typeInfo);
    }

    /**
     * 查询通过id
     *
     * @param id id
     * @return {@link TypeInfo}
     */
    @Override
    public TypeInfo queryById(long id) {
        return typeInfoMapper.queryById(id);
    }


}
